🎯 今日目標
建立錯誤處理機制,確保在流程中出現 API 錯誤、資料缺失或通知失敗時,系統能安全降級、紀錄並持續運作。
1️⃣ 問題場景
- RSS Feed 抓不到資料怎麼辦?
- API 回傳 500 或 Timeout,要不要重試?
- Google Sheet 或 Discord 發送失敗時,會整個流程中斷嗎?
- 如果錯誤沒被捕捉,整個自動化可能「掛掉不動」,無法長期穩定運作。
2️⃣ 模組定位
-
錯誤捕捉模組:監控流程中可能失敗的節點(API、資料庫、通知)。
-
回退策略(Fallback):失敗時改用替代方案(例如寫入本地檔案、延遲重試)。
-
錯誤通知:將錯誤記錄到 Google Sheet / Discord,方便追蹤。
-
不中斷運行:即使部分節點失敗,也能確保其他流程繼續。
3️⃣ 技術實作(N8N 範例流程)
-
主流程
- 正常的 RSS → 過濾器 → Google Sheet → Discord。
-
錯誤分支(利用 Error Workflow)
- 監控錯誤,紀錄:
- 錯誤來源(哪個 Node 出錯)
- 錯誤訊息(API Timeout / 欄位不存在)
- 時間戳記
- 寫入 Google Sheet「錯誤日誌表」,錯誤訊息Discord 使用超出限制
-
重試策略
- 設定 Retry 或 Wait + Re-execute,自動重試 3 次。